package com.job.ZhangMeng.Homework0714;

import java.io.IOException;

/**
 * 2022.07.14  Runtime类的一些方法
 * 张孟
 */

public class UseRuntime {

    public static void main(String[] args) throws IOException { //抛出IO流异常,发生异常时不处理
        Runtime runtime=/*new Runtime();*/Runtime.getRuntime(); //单例模式,无构造方法
                                                                //该方法用于获取运行时对象
        System.out.println(runtime.availableProcessors());      //该方法返回int类型的处理器内核数
        System.out.println(runtime.maxMemory()/1024/1024+"MB");     //该方法返回long类型的JVM最大内存值(单位:byte字节)
        System.out.println(runtime.totalMemory()/1024/1024+"MB");   //该方法返回long类型的JVM总内存值(单位:byte字节)
        System.out.println(runtime.freeMemory()/1024/1024+"MB");    //该方法返回long类型的JVM空闲内存值(单位:byte字节)

        //exec()方法用于执行String类型的命令,并得到一个进程,使用时需处理IOException输入输出流异常
        runtime.exec("mspaint");    //画图
        runtime.exec("calc");       //计算器
        runtime.exec("mstsc");      //远程桌面连接
        //logoff 注销 | shutdown -s -t 1 一秒后关机 | shutdown -a 取消定时关机任务
        //也可以使用绝对路径执行.exe文件

    }

}
